1. Technical Field
The present invention relates to a system and method for dynamically populating a resolution list and facilitating user input by automatically providing generated completion information in real time with suggested entries of the resolution list.
2. Related Art
Electronic mail (email) has become increasingly popular and is widely recognized as a standard form of communication. Typically, email users require an email client for sending and receiving email. Many of these email clients contain advanced features and options for the convenience of the email users. One such feature or option includes automatic email address resolution. In some systems, automatic email resolution is designed to automatically locate an email address from a user""s manually created email address book. Consequently, when a user initiates composition of an email message, the user need only enter initial portions of a recipient""s email address or a xe2x80x9cfriendly namexe2x80x9d known to be associated with the recipient.
Friendly names are used to avoid the impersonal technical format of email addresses. The technical format (required by email clients to properly forward email) of an email address is usually denoted by username information followed by a connector and then domain or affiliation information. As an example, the technical format for a user""s contact, whose name is Joe William Smith, might be in the form xe2x80x9cjoes554@hotmail.comxe2x80x9d (xe2x80x9cjoes554xe2x80x9d is the username; xe2x80x9c@xe2x80x9d is the connector; and xe2x80x9chotmail.comxe2x80x9d is the domain), while the non-technical format or friendly name for this email address might simply be xe2x80x9cJoe Smithxe2x80x9d. Clearly, the technical format is esoteric and harder to remember than the friendly name. Also, people sometimes randomly chose usernames, and these usernames are often not related to the actual name or the nickname that he/she is commonly known by. In addition, to complicate matters, many people have similar usernames or share the same or similar domains. As such, email resolution is designed to simplify composition of emails by allowing a user to find a recipient without requiring the user to know the recipient""s exact and complete email address.
Nevertheless, these systems are limited because resolution of email addresses depends on the detailed information or xe2x80x9cfriendly informationxe2x80x9d (such as the actual names or nicknames of contacts), provided by the user for email addresses as well as the email client and its resolution technique. For instance, many email clients resolve email addresses into friendly names by comparing and verifying the user""s xe2x80x9cfriendly informationxe2x80x9d entry in the xe2x80x9csend toxe2x80x9d portion of an email message against recipient information previously entered by the user (for example, in an email address book) and located in the user""s email client""s database (commonly referred to as xe2x80x9cfriendly name lookupxe2x80x9d) for that particular recipient. However, many email users do not take the time to enter friendly name information into their email address books. Thus, these systems are limited by the users willingness to update and fully complete his/her email address book.
Therefore, what is needed is an email system that not only utilizes email users"" entries, but also other known information that is not dependent on the entries to automatically resolve email addresses.
To overcome the limitations in the background art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention is embodied in a system and method for dynamically populating a resolution list and facilitating user input by automatically providing generated completion information in real time with suggested entries of the resolution list. The completion information is associated with the intended user input and can be email addresses or contact information.
The completion information is initially developed from a store of data comprised of intended user input. For instance, the completion information can be previously sent or received email, data embedded within other types of electronic files, from email or other electronic documents which may not have been sent or saved to a permanent storage medium but which contained usable contact data, or from tracking email addresses or contacts used by the user when both sending and receiving messages.
The system and method automatically tracks and maintains entries, such as contacts or email addresses and organizes and maintains the tracked entries in a dynamic resolution list. As a user begins to input an email address or contact in an input entry area, the system of the present invention can either automatically complete the entry using a most probable result from the dynamic list, or can display a list of likely matches from which the user may select the desired email address or contact. Further, the list may also be accessed via a user interface that provides the user with options such as, for example, editing, saving, and exporting the list. As one example, the completion information can be presented to the user as an overlaid mini user interface pane, such as a xe2x80x9cpop-upxe2x80x9d user interface area. The xe2x80x9cpop-upxe2x80x9d user interface automatically appears over the current user interface in close proximity to the input entry area and contains the organized completion information.
In one embodiment, the present invention monitors and uses information of the store and of other electronic files, whether or not those files or information have been saved to permanent storage medium, to automatically and dynamically populate a resolution list with email addresses and contact information. Priority is given to the most recently used (MRU) email addresses and contacts when populating the resolution list. However, frequency of use and time since the last use of specific email addresses and contacts is also considered in xe2x80x9cweightingxe2x80x9d the entries in the resolution list. Entries having a higher weight will be chosen before matching entries having a lower weight where multiple entries match user input.
The information from the store used to populate the resolution list includes previously sent and received email addresses and contacts, and email addresses and contacts that existed on other or older software versions that were subsequently upgraded/updated. Email addresses and contacts from other electronic files, such as for example, word processor or spreadsheet files, may also be used to provide information to populate the resolution list. However, information that the user specifically enters when addressing messages, or from mail that the user receives, whether or not the mail is sent, saved or deleted, is preferably the primary source of data for the resolution list. The information extracted from the store is preferably used to initially populate the resolution list and to restore the resolution list after a xe2x80x9ccrashxe2x80x9d or other unexpected event occurs that causes the resolution list to be lost. Once the initial resolution list is initially populated, it is dynamically updated with new email address and contact information as that information enters the data store.
Preferably, the resolution list is constrained as to the maximum number of entries that would ensure that the user does not notice a lag time while the software searches for matches in the resolution list. Because the size of the list is preferably constrained, entries of lesser weight will be replaced with entries of greater weight as the list is dynamically updated. However, in one embodiment, the user may specify the desired list size. Further, because the list is dynamic, the weights assigned to individual entries are also dynamic. The weights are continuously updated as new information becomes available.
The foregoing and still further features and advantages of the present invention as well as a more complete understanding thereof will be made apparent from a study of the following detailed description of the invention in connection with the accompanying drawings and appended claims.